package com.mt.vsphere.business.bean.base;


import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.vmware.vim25.ManagedObjectReference;
import lombok.Data;

import java.util.List;

//vcenter管理对象目录
@Data
public class VCenterCatalogue {
    //管理对象的类型
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String objType;
    //管理对象的值
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String objValue;
    //托管对象
    @JsonIgnore
    private ManagedObjectReference managedObjectReference;
    //对象类型
    private int type;
    //名字
    private String name;
    //下级节点
    private List<VCenterCatalogue> child;

    public VCenterCatalogue() {
    }

    public VCenterCatalogue(int type, String name, List<VCenterCatalogue> child) {
        this.type = type;
        this.name = name;
        this.child = child;
    }

    public VCenterCatalogue(String objType, String objValue, int type, String name, List<VCenterCatalogue> child) {
        this.objType = objType;
        this.objValue = objValue;
        this.type = type;
        this.name = name;
        this.child = child;
    }

    public VCenterCatalogue(String objType, String objValue, int type, String name, List<VCenterCatalogue> child, ManagedObjectReference managedObjectReference) {
        this.objType = objType;
        this.objValue = objValue;
        this.type = type;
        this.name = name;
        this.child = child;
        this.managedObjectReference = managedObjectReference;
    }
}